// pages/mine/settings/phone/phone.js
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    safePwd:"",//安全密码
    tel: "", //手机号
    validCode: "", //验证码
    clock: "", //定时器对象
    time: 61,    //倒计时 61s以上不再计时,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  /**
   * 数据更改
   */
  onChange(e) {
    this.setData({
      [e.currentTarget.dataset.prop]: e.detail
    })
  },
  /**
   *  获取验证码 启动计时 在可点击状态下进行计时处理
   */
  getValidCode() {
    let self = this
    if (self.data.time == 0 || self.data.time == 61) {
      if (!(/^1[3456789]\d{9}$/.test(this.data.tel))) {
        wx.showToast({ title: '请输入正确的手机号',icon:'none'});
      } else {
        // 请求成功后开始计时
        app.globalData.request('POST', 'applet/user_login/getCode', { tel: self.data.tel }).then(res => {
          self.setData({ time: 60 })// 重置时间(开始计时) 要比预期时间少一秒
          if (!self.data.clock)
            clearInterval(self.data.clock)//重置已有计时器

          self.data.clock = setInterval(_ => {
            self.setData({ time: --self.data.time })// 时间减少
            if (self.data.time <= 0) {
              clearInterval(self.data.clock)
            }
          }, 1000)
          wx.showToast({ title: res.msg })
        }).catch(_ => {
          self.setData({ time: 61 })// 重置时间为初始
          if (!self.data.clock)
            clearInterval(self.data.clock)// 重置已有计时器
        })
      }
    }
  },
  /**
   * 确认按钮
   */
  confirm(){
    app.globalData.request("post","/applet/user_login/editTel",{
      id: wx.getStorageSync("id"),
      token: wx.getStorageSync("token"),
      tel: this.data.tel,
      verification_code: this.data.validCode,
      security_password: this.data.safePwd
    })
    .then(res => {
      wx.showToast({
        title: res.msg,
        icon:"none"
      })
      wx.showToast({
        title: '跳转中',
        icon: "loading"
      })
      setTimeout(_ => {
        wx.navigateBack({
          delta:1
        })
      },2000)
    }).catch(err => {
      wx.showToast({
        title: err.msg,
        icon:"none"
      })
    })
  }
})